package com.framework.loippi.utils;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;

/**
 * 对象工具类
 * @author wangcj
 * @version 1.0
 */
public class ObjectUtil {

	/**
	 * 对象空校验
	 * @param obj 目标对象
	 * @return 校验结果true or false
	 */
	public static <T> boolean isNull(T obj) {
		if (null == obj) {
			return true;
		}
		return false;
	}
	
	/**
	 * 对象非空校验
	 * @param obj 目标对象
	 * @return 校验结果true or false
	 */
	public static <T> boolean isNotNull(T obj) {
		return !isNull(obj);
	}
	
	/**
	 * 对List对象进行校验，若该对象为空，则创建一个空List给它；反之，原封不动。
	 * @param list
	 * @return
	 */
	public static <T> void nullToList(List<T> list) {
		if (null == list) {
			list = new ArrayList<T>();
		}
	}
	
	/**
	 * 校验集合是否为空
	 * @param collection list之类的集合
	 * @return
	 */
	public static boolean isEmpty(Collection collection) {
		return (collection == null || collection.isEmpty());
	}

	/**
	 * 校验map是否为空
	 * 
	 * @param map
	 * @return
	 */
	public static boolean isEmpty(Map map) {
		return (map == null || map.isEmpty());
	}
	
	/**
	 * 校验集合是否为空
	 * @param collection list之类的集合
	 * @return
	 */
	public static boolean isNotEmpty(Collection collection) {
		return !isEmpty(collection);
	}

	/**
	 * 校验map是否为空
	 * 
	 * @param map
	 * @return
	 */
	public static boolean isNotEmpty(Map map) {
		return !isEmpty(map);
	}
	
}
